[新機能] DynamoDB で保存時のデータ暗号化が東京リージョンでサポートされました
こんにちは、菊池です。
本日ご紹介する新機能はこちらです。
フルマネージドなNOSQLデータベースサービス、Amazon DynamoDBで、データ保存時の暗号化に対応しました。すでに一部のリージョンでは、今年2月の時点でサポートされていました。
今回のアップデートにて対応するリージョン拡大され、東京リージョンでも利用可能になりました。すでにサポートされていたリージョンと合わせて、14リージョンでDynamoDBの暗号化が可能になります。
- us-east-1(バージニア北部)
- us-east-2(オハイオ)
- us-west-1(北カリフォルニア)- New
- us-west-2(オレゴン)
- ca-central-1(カナダ)- New
- eu-west-1(アイルランド)
- eu-west-2(ロンドン)- New
- eu-central-1(フランクフルト)- New
- ap-northeast-1 (東京)- New
- ap-northeast-2(ソウル)- New
- ap-southeast-1(シンガポール)- New
- ap-southeast-2(シドニー)- New
- ap-south-1(ムンバイ)- New
- sa-east-1(サンパウロ)- New
暗号化を有効にしたテーブルの作成
それでは、暗号化したテーブルを作成してみます。暗号化の仕様については、公式ドキュメントを併せて確認ください。
暗号化を有効化できるのは、テーブル作成時のみです。既存のテーブルを暗号化することはできず、また、後から暗号化を無効にすることもできません。
暗号化にはKMS(Key Management Service)が利用され、サービスデフォルトキーにて、テーブル、インデックスが暗号化されます。
マネジメントコンソールから
それでは、マネジメントコンソールから暗号化を有効にしたテーブルを作成します。
テーブル作成時の、[デフォルト設定の使用]のチェックを外します。
すると、暗号化のオプションが表示されますので、チェックを入れて作成します。
暗号化が有効に設定されたテーブルが作成しました。
AWS CLIから
AWS CLIからも試してみます。
CLIからは、create-table
コマンドで--sse-specification Enabled=true
をオプションにしていることで暗号化が有効になります。
$ aws dynamodb create-table \ > --table-name testTable \ > --attribute-definitions AttributeName=id,AttributeType=S \ > --key-schema AttributeName=id,KeyType=HASH \ > --provisioned-throughput ReadCapacityUnits=5,WriteCapacityUnits=5 \ > --sse-specification Enabled=true { "TableDescription": { "TableArn": "arn:aws:dynamodb:ap-northeast-1:xxxxxxxxxxxx:table/testTable", "AttributeDefinitions": [ { "AttributeName": "id", "AttributeType": "S" } ], "ProvisionedThroughput": { "NumberOfDecreasesToday": 0, "WriteCapacityUnits": 5, "ReadCapacityUnits": 5 }, "TableSizeBytes": 0, "TableName": "testTable", "TableStatus": "CREATING", "TableId": "2aca8937-ab92-4fb5-ae74-xxxxxxxxxxxx", "SSEDescription": { "Status": "ENABLED" }, "KeySchema": [ { "KeyType": "HASH", "AttributeName": "id" } ], "ItemCount": 0, "CreationDateTime": 1524399386.963 } }
SSEDescription
がENABLED
になったテーブルが作成されました。
KMSキー
暗号化を有効にしてテーブルを作成すると、KMSにサービスデフォルトキーaws/dynamodb
が作成されています。
さいごに
DynamoDBで保存するデータの暗号化がサポートされました。
これまで、コンプライアンス要件により暗号化が必須であったために、DynamoDBの利用ができなかったようなケースでは、新しい選択肢が提供されることになります。